In general, speech recognition turns spoken words into written ones; natural language processing determines what the words mean and formats the meaning into appropriate data structures for further utilization. Air traffic controllers' instructions to pilots provide a rich source of information about the actions that pilots will be taking in response to these instructions. As such, air traffic control instructions could provide very useful information if they could be captured and entered automatically into an air traffic control (ATC) automation system. Furthermore, an extra layer of safety could thereby be provided by exploiting an additional source of information, based on the ATC instructions themselves. Because the vocabulary of air traffic control instructions is small and the different types of instructions are limited, air traffic control instructions are a good candidate for application of speech and natural language understanding technology because of the constrained nature of the domain.
In the past, automatic interpretation of air traffic control instructions in an operational setting was not feasible. Manual interpretation, while possible, is sporadic and expensive. Previous systems for automtically interpreting air traffic control instructions have required that the instructions conform to standard phraseology; thus they cannot be used in an operational setting, where instructions vary from the standard, but only for training purposes. Previous approaches to robust natural language processing have typically either focused solely on data from one domain or have implemented a domain-independent approach. Both of these alternatives have disadvantages. Approaches which have been tested on only a single domain cannot be guaranteed to be extensible to other domains. Entirely new approaches may then be required should the system be ported to another domain. On the other hand, the performance of domain-independent approaches may suffer in domain-specific applications because they are not able to use domain-specific knowledge to constrain the processing. Also, infrequent, hard-to-process inputs can require long processing times. These difficulties are overcome by the present invention.